package db

type ApiData struct {
	AppId       string `json:"appId"`       // 游戏id
	GameDesc    string `json:"gameDesc"`    // 游戏描述
	GameName    string `json:"gameName"`    // 游戏名称
	GameVersion string `json:"gameVersion"` // 游戏版本
	Icon        string `json:"icon"`        // 游戏icon
	OnSaleDate  string `json:"onSaleDate"`  // 上架时间  xxxx-xx-xx
	PlayCount   int    `json:"play_count"`  // 多少人在玩
	TypeName    string `json:"typeName"`    // 游戏类型
	RankType    string `json:"rankType"`    // 榜单类别
	DIndex      int    `json:"dIndex"`      // 数据索引值 越小代表在榜单中越靠前
	Date        string `json:"date"`        // 数据获取日期
	BRank       int    `json:"bRank"`       // 是否排行  0 不排行  1排行
	DownloadNum int    `json:"downloadNum"` // 昨日下载量
	Score       string `json:"score"`       // 评分
	Company     string `json:"company"`     // 开发商
	CollectTime string `json:"collectTime"` // 数据收集时间

	ChannelName string `json:"channelName"` // 渠道名称
	Platform    string `json:"platform"`    // 平台
	Classify    string `json:"classify"`    // 1免费榜 0付费榜 2畅销榜

	TotalDownloadCount int    `json:"totalDownloadCount"` // 总下载量
	CommentCount       int    `json:"commentCount"`       // 评论量
	OriginalUrl        string `json:"originalUrl"`        // 详情页地址
}

type DbDataResult struct {
	Data        []ApiData
	ChannelName string
	RankType    string
	Date        string
	Platform    string
	Classify    string
}

type TopicRank struct {
	DateDay         string
	PeriodType      int
	ChallengeId     string
	ChallengeName   string
	CoverImageUri   string
	IsOfficial      string
	PublishCount    int // 当天投稿量
	PublishAllCount int // 总投稿量
	Hot             int // 当天热度
	AllHot          int //总热度
	LikeCount       int // 当天点赞量
	AllLikeCount    int //总点赞量
}

/* 收集APP数据-安卓 数据来源：七麦数据 */
type AppResult struct {
	Code     int             `json:"code"`
	BanIp    string          `json:"banip"`
	RankInfo []AppResultInfo `json:"rankInfo"`
}

type AppResultInfo struct {
	AppInfo struct {
		AppId           string  `json:"appId"`
		AppName         string  `json:"appName"`
		AppCommentCount string  `json:"app_comment_count"`
		AppCommentScore float64 `json:"app_comment_score"`
		Icon            string  `json:"icon"`
		Publisher       string  `json:"publisher"`
	} `json:"appInfo"`
	Company struct {
		Name string `json:"name"`
	} `json:"company"`
	DownloadNum interface{} `json:"downloadNum"`
	Genre       string      `json:"genre"`
	RankInfo    struct {
		Ranking string      `json:"ranking"`
		Change  interface{} `json:"change"` //int string
		Genre   string      `json:"genre"`
	} `json:"rankInfo"`
	ReleaseTime string `json:"releaseTime"`
}

type AppDetailResultInfo struct {
	Code    int    `json:"code"`
	BanIp   string `json:"banip"`
	AppInfo struct {
		AppIdAddTime    string      `json:"app_id_add_time"`
		AppVersion      string      `json:"app_version"`
		AppDownloadNum  interface{} `json:"app_download_num"`  // 累计下载量
		AppBrief        string      `json:"app_brief"`         // html 描述
		AppCommentCount interface{} `json:"app_comment_count"` // 评论量
	} `json:"appInfo"`
}

type IosAppResult struct {
	Code     int    `json:"code"`
	BanIp    string `json:"banip"`
	RankInfo []struct {
		AppInfo struct {
			AppId     interface{} `json:"appId"`
			AppName   string      `json:"appName"`
			Icon      string      `json:"icon"`
			Publisher string      `json:"publisher"`
		} `json:"appInfo"`
		Index int `json:"index"` //排名
	} `json:"rankInfo"`
}

type IosAppDetailResult struct {
	Code    int    `json:"code"`
	BanIp   string `json:"banip"`
	AppInfo struct {
		YesterdayDownload        int    `json:"yesterdayDownload"`           // 昨日下载量
		ReleaseTime              string `json:"releaseTime"`                 // 上架时间
		Subtitle                 string `json:"subtitle"`                    // 游戏描述
		CurrentVersionUserRating string `json:"current_version_user_rating"` // 评分
		RateDetail               struct {
			All struct {
				RatingCount int `json:"ratingCount"` // 评论量
			} `json:"all"`
		} `json:"rateDetail"`
		Genre struct {
			Name string `json:"name"`
		} `json:"genre"`
	} `json:"appInfo"`
}

type Params struct {
	A string // analysis
	M string // market
	C string // category
	G string // genre ios独有
}

type Icon struct {
	AppId       string `json:"appId"`
	Icon        string `json:"icon"`
	ChannelName string `json:"channelName"`
	Platform    string `json:"platform"`
	CollectTime string `json:"collectTime"`
}
